這篇是素材最少的一篇因為只剩下 commit 沒有和 AI 的對話紀錄,也是我跟 AI 想法最有出入的一篇
AI 認為我在這些 commit 中做無謂的掙扎,但是這些 commit 其實都是因為請 AI 修改不如預期所做的反覆敲打。
但我覺得它值得寫,因為它讓我發現 —— 當能證明那件事發生過的,只剩 git 紀錄,原來可以讓 AI 和我的認知有這麼大的落差。
4 月 15 日下午:
17:24 feat: minimize to system tray on startup and close (d9d7f42, 76 行)
17:43 fix: minimize but not finish yet (779cf9c, 54 行)
17:50 Revert "fix: minimize but not finish yet" (13470c1)
17:50 Revert "feat: minimize to system tray on startup..." (9cb5f95)
中間那則 commit 訊息 minimize but not finish yet 是因為有很大量的修改但實際上好像沒有達到想要的效果所以我先 commit 上去,做一個分界點,最後發現不行才決定整組 revert。
extends Node,修了三次4 月 16 日:
17:36 fix: This script doesn't extend `Node`, but since it's set to autoload... (90d76fa)
17:36 Revert 同一則 (911c25e)
19:07 fix: add extends Node to feature_flags.gd autoload (13d073f)
Godot 的 autoload(全域單例)腳本一定要繼承 Node,不然啟動就報錯。我前一天加的 FeatureFlags 少了這行。
第一次修好、同一分鐘退掉、隔了一個半小時才又修回來。
同一天晚上:
19:12 fix: clamp get_pixel coords to image bounds... (15c1f5e, 11 行)
19:21 Revert 同一則 (931f124)
19:2x 同樣的修正再進來一次
19:59 同樣的訊息,這次改了 81 行 (9933952)
背景是前一天做的「自動偵測背景顏色」功能,會去截螢幕、取樣視窗附近的像素。視窗被拖到螢幕邊緣的時候,取樣座標會超出畫面範圍,直接 crash。
同一個 commit 訊息出現四次,行數從 11 行變成 81 行。看得出來前幾次都是頭痛醫頭,最後一次才真的把座標計算重寫。
而最後突破瓶頸是因為我想到可以請 AI 透過螢幕截圖的方式去抓取背景畫面,而抓取後我才發現原來是雙螢幕導致了像素偏移,導致顏色轉換不如預期。
最終修改後呈現的效果我還是很滿意的。

這三組 commit 掙扎 AI 覺得:
但實際上,這三段都是因為我使用 AI 在開發的過程中,發現 AI 一直鬼打牆的重複一個問題,所以強制介入,並上網找方向給它,甚至第三組還是我想到方法告訴 AI 怎麼處理才發現問題。
雖然現在的 AI 模型越來越聰明,類似的情況已經不太發生。即使發生了我也會先請 AI 上網找最新的資料和拿到足夠的證據在執行,但透過這篇文章也可以很清楚的感受到,在沒有明確的資訊下 AI 是很容易幻想出與事實落差甚大的內容。
因此在回答 AI 任何決策之前應該要盡可能地去蒐集資料,如果需要下的決策不是自己的認知範圍應該要在往回退到前一階去補足自己缺乏的知識,才能讓 AI 做出在自己預期中的結果。
明天講那個被 revert 掉的系統匣,後來怎麼變成 685 行的 C++ 擴充